Signal Samples Library

With Plux acquisition systems, a vast set of physiological signals can be acquired.

All the signals that were used in biosignalsnotebooks notebooks have been collected with bitalino or biosignalsplux , being this page a resource where relevant characteristics of each acquisition are presented, together with a temporal segment of the signal.

In [1]:
import opensignalstools as ost
import numpy

# Base packages used in OpenSignals Tools Notebooks for plotting data
from bokeh.plotting import figure, output_file, show
from bokeh.io import output_notebook
from bokeh.layouts import gridplot
from bokeh.models.tools import *
output_notebook(hide_banner=True)
bvp_sample
Signal Type BVP
Acquisition Time 00:27.3
Sample Rate 1000 Hz
Number of Channels 1
Resolutions 16 bits
Observations At Rest
In [2]:
signal_dict, file_header = ost.load("C:/Users/gui_s/Documents/Trabalho_na_Plux/opensignalstools/biosignalsnotebooks/header_footer/../biosignalsnotebooks_notebooks/signal_samples/" + "bvp_sample.txt", get_header=True)
mac_addresses = list(signal_dict.keys())

mac_0 = mac_addresses[0]
chn_0 = list(signal_dict[mac_0].keys())[0]
sample_rate = file_header[mac_0]["sampling rate"]
time = numpy.linspace(0, len(signal_dict[mac_0][chn_0]) / sample_rate,
                      len(signal_dict[mac_0][chn_0]))
grid_layout = []
for mac in mac_addresses:
    channels = list(signal_dict[mac].keys())
    for chn in channels:
        fig = figure(x_axis_label='Time (s)', y_axis_label='Raw Data',
                     title=mac + "@" + chn, **ost.opensignals_kwargs("figure"))
        fig.line(time, signal_dict[mac][chn],
                 **ost.opensignals_kwargs("line"))
        grid_layout.append([fig])
ost.opensignals_style([item for sublist in grid_layout for item in sublist])
grid_plot = gridplot(grid_layout, **ost.opensignals_kwargs("gridplot"))
show(grid_plot)
ecg_20_sec_1000_Hz
Signal Type ECG
Acquisition Time 00:20.4
Sample Rate 1000 Hz
Number of Channels 1
Resolutions 16 bits
Observations At Rest using Lead II
In [3]:
signal_dict, file_header = ost.load("C:/Users/gui_s/Documents/Trabalho_na_Plux/opensignalstools/biosignalsnotebooks/header_footer/../biosignalsnotebooks_notebooks/signal_samples/" + "ecg_20_sec_1000_Hz.h5", get_header=True)
mac_addresses = list(signal_dict.keys())

mac_0 = mac_addresses[0]
chn_0 = list(signal_dict[mac_0].keys())[0]
sample_rate = file_header[mac_0]["sampling rate"]
time = numpy.linspace(0, len(signal_dict[mac_0][chn_0]) / sample_rate,
                      len(signal_dict[mac_0][chn_0]))
grid_layout = []
for mac in mac_addresses:
    channels = list(signal_dict[mac].keys())
    for chn in channels:
        fig = figure(x_axis_label='Time (s)', y_axis_label='Raw Data',
                     title=mac + "@" + chn, **ost.opensignals_kwargs("figure"))
        fig.line(time, signal_dict[mac][chn],
                 **ost.opensignals_kwargs("line"))
        grid_layout.append([fig])
ost.opensignals_style([item for sublist in grid_layout for item in sublist])
grid_plot = gridplot(grid_layout, **ost.opensignals_kwargs("gridplot"))
show(grid_plot)
ecg_20_sec_100_Hz
Signal Type ECG
Acquisition Time 00:19.7
Sample Rate 100 Hz
Number of Channels 1
Resolutions 16 bits
Observations At Rest using Lead II
In [4]:
signal_dict, file_header = ost.load("C:/Users/gui_s/Documents/Trabalho_na_Plux/opensignalstools/biosignalsnotebooks/header_footer/../biosignalsnotebooks_notebooks/signal_samples/" + "ecg_20_sec_100_Hz.h5", get_header=True)
mac_addresses = list(signal_dict.keys())

mac_0 = mac_addresses[0]
chn_0 = list(signal_dict[mac_0].keys())[0]
sample_rate = file_header[mac_0]["sampling rate"]
time = numpy.linspace(0, len(signal_dict[mac_0][chn_0]) / sample_rate,
                      len(signal_dict[mac_0][chn_0]))
grid_layout = []
for mac in mac_addresses:
    channels = list(signal_dict[mac].keys())
    for chn in channels:
        fig = figure(x_axis_label='Time (s)', y_axis_label='Raw Data',
                     title=mac + "@" + chn, **ost.opensignals_kwargs("figure"))
        fig.line(time, signal_dict[mac][chn],
                 **ost.opensignals_kwargs("line"))
        grid_layout.append([fig])
ost.opensignals_style([item for sublist in grid_layout for item in sublist])
grid_plot = gridplot(grid_layout, **ost.opensignals_kwargs("gridplot"))
show(grid_plot)
ecg_20_sec_10_Hz
Signal Type ECG
Acquisition Time 00:20.0
Sample Rate 10 Hz
Number of Channels 1
Resolutions 16 bits
Observations At Rest using Lead II
In [5]:
signal_dict, file_header = ost.load("C:/Users/gui_s/Documents/Trabalho_na_Plux/opensignalstools/biosignalsnotebooks/header_footer/../biosignalsnotebooks_notebooks/signal_samples/" + "ecg_20_sec_10_Hz.h5", get_header=True)
mac_addresses = list(signal_dict.keys())

mac_0 = mac_addresses[0]
chn_0 = list(signal_dict[mac_0].keys())[0]
sample_rate = file_header[mac_0]["sampling rate"]
time = numpy.linspace(0, len(signal_dict[mac_0][chn_0]) / sample_rate,
                      len(signal_dict[mac_0][chn_0]))
grid_layout = []
for mac in mac_addresses:
    channels = list(signal_dict[mac].keys())
    for chn in channels:
        fig = figure(x_axis_label='Time (s)', y_axis_label='Raw Data',
                     title=mac + "@" + chn, **ost.opensignals_kwargs("figure"))
        fig.line(time, signal_dict[mac][chn],
                 **ost.opensignals_kwargs("line"))
        grid_layout.append([fig])
ost.opensignals_style([item for sublist in grid_layout for item in sublist])
grid_plot = gridplot(grid_layout, **ost.opensignals_kwargs("gridplot"))
show(grid_plot)
ecg_4000_Hz
Signal Type ECG
Acquisition Time 00:12.4
Sample Rate 4000 Hz
Number of Channels 1
Resolutions 16 bits
Observations At Rest
In [6]:
signal_dict, file_header = ost.load("C:/Users/gui_s/Documents/Trabalho_na_Plux/opensignalstools/biosignalsnotebooks/header_footer/../biosignalsnotebooks_notebooks/signal_samples/" + "ecg_4000_Hz.h5", get_header=True)
mac_addresses = list(signal_dict.keys())

mac_0 = mac_addresses[0]
chn_0 = list(signal_dict[mac_0].keys())[0]
sample_rate = file_header[mac_0]["sampling rate"]
time = numpy.linspace(0, len(signal_dict[mac_0][chn_0]) / sample_rate,
                      len(signal_dict[mac_0][chn_0]))
grid_layout = []
for mac in mac_addresses:
    channels = list(signal_dict[mac].keys())
    for chn in channels:
        fig = figure(x_axis_label='Time (s)', y_axis_label='Raw Data',
                     title=mac + "@" + chn, **ost.opensignals_kwargs("figure"))
        fig.line(time, signal_dict[mac][chn],
                 **ost.opensignals_kwargs("line"))
        grid_layout.append([fig])
ost.opensignals_style([item for sublist in grid_layout for item in sublist])
grid_plot = gridplot(grid_layout, **ost.opensignals_kwargs("gridplot"))
show(grid_plot)
ecg_5_min
Signal Type ECG
Acquisition Time 05:00.0
Sample Rate 1000 Hz
Number of Channels 1
Resolutions 16 bits
Observations At Rest
In [7]:
signal_dict, file_header = ost.load("C:/Users/gui_s/Documents/Trabalho_na_Plux/opensignalstools/biosignalsnotebooks/header_footer/../biosignalsnotebooks_notebooks/signal_samples/" + "ecg_5_min.h5", get_header=True)
mac_addresses = list(signal_dict.keys())

mac_0 = mac_addresses[0]
chn_0 = list(signal_dict[mac_0].keys())[0]
sample_rate = file_header[mac_0]["sampling rate"]
time = numpy.linspace(0, len(signal_dict[mac_0][chn_0]) / sample_rate,
                      len(signal_dict[mac_0][chn_0]))
grid_layout = []
for mac in mac_addresses:
    channels = list(signal_dict[mac].keys())
    for chn in channels:
        fig = figure(x_axis_label='Time (s)', y_axis_label='Raw Data',
                     title=mac + "@" + chn, **ost.opensignals_kwargs("figure"))
        fig.line(time, signal_dict[mac][chn],
                 **ost.opensignals_kwargs("line"))
        grid_layout.append([fig])
ost.opensignals_style([item for sublist in grid_layout for item in sublist])
grid_plot = gridplot(grid_layout, **ost.opensignals_kwargs("gridplot"))
show(grid_plot)
ecg_sample
Signal Type ECG
Acquisition Time 00:11.9
Sample Rate 200 Hz
Number of Channels 1
Resolutions 16 bits
Observations At Rest
In [8]:
signal_dict, file_header = ost.load("C:/Users/gui_s/Documents/Trabalho_na_Plux/opensignalstools/biosignalsnotebooks/header_footer/../biosignalsnotebooks_notebooks/signal_samples/" + "ecg_sample.h5", get_header=True)
mac_addresses = list(signal_dict.keys())

mac_0 = mac_addresses[0]
chn_0 = list(signal_dict[mac_0].keys())[0]
sample_rate = file_header[mac_0]["sampling rate"]
time = numpy.linspace(0, len(signal_dict[mac_0][chn_0]) / sample_rate,
                      len(signal_dict[mac_0][chn_0]))
grid_layout = []
for mac in mac_addresses:
    channels = list(signal_dict[mac].keys())
    for chn in channels:
        fig = figure(x_axis_label='Time (s)', y_axis_label='Raw Data',
                     title=mac + "@" + chn, **ost.opensignals_kwargs("figure"))
        fig.line(time, signal_dict[mac][chn],
                 **ost.opensignals_kwargs("line"))
        grid_layout.append([fig])
ost.opensignals_style([item for sublist in grid_layout for item in sublist])
grid_plot = gridplot(grid_layout, **ost.opensignals_kwargs("gridplot"))
show(grid_plot)
emg_bursts
Signal Type EMG
Acquisition Time 00:28.5
Sample Rate 1000 Hz
Number of Channels 1
Resolutions 16 bits
Observations Cyclic contractions of Biceps Brachii
In [9]:
signal_dict, file_header = ost.load("C:/Users/gui_s/Documents/Trabalho_na_Plux/opensignalstools/biosignalsnotebooks/header_footer/../biosignalsnotebooks_notebooks/signal_samples/" + "emg_bursts.h5", get_header=True)
mac_addresses = list(signal_dict.keys())

mac_0 = mac_addresses[0]
chn_0 = list(signal_dict[mac_0].keys())[0]
sample_rate = file_header[mac_0]["sampling rate"]
time = numpy.linspace(0, len(signal_dict[mac_0][chn_0]) / sample_rate,
                      len(signal_dict[mac_0][chn_0]))
grid_layout = []
for mac in mac_addresses:
    channels = list(signal_dict[mac].keys())
    for chn in channels:
        fig = figure(x_axis_label='Time (s)', y_axis_label='Raw Data',
                     title=mac + "@" + chn, **ost.opensignals_kwargs("figure"))
        fig.line(time, signal_dict[mac][chn],
                 **ost.opensignals_kwargs("line"))
        grid_layout.append([fig])
ost.opensignals_style([item for sublist in grid_layout for item in sublist])
grid_plot = gridplot(grid_layout, **ost.opensignals_kwargs("gridplot"))
show(grid_plot)
emg_fatigue
Signal Type EMG
Acquisition Time 02:06.9
Sample Rate 1000 Hz
Number of Channels 1
Resolutions 16 bits
Observations Cyclic flexion and extension of Biceps Brachii for fatigue induction
In [10]:
signal_dict, file_header = ost.load("C:/Users/gui_s/Documents/Trabalho_na_Plux/opensignalstools/biosignalsnotebooks/header_footer/../biosignalsnotebooks_notebooks/signal_samples/" + "emg_fatigue.h5", get_header=True)
mac_addresses = list(signal_dict.keys())

mac_0 = mac_addresses[0]
chn_0 = list(signal_dict[mac_0].keys())[0]
sample_rate = file_header[mac_0]["sampling rate"]
time = numpy.linspace(0, len(signal_dict[mac_0][chn_0]) / sample_rate,
                      len(signal_dict[mac_0][chn_0]))
grid_layout = []
for mac in mac_addresses:
    channels = list(signal_dict[mac].keys())
    for chn in channels:
        fig = figure(x_axis_label='Time (s)', y_axis_label='Raw Data',
                     title=mac + "@" + chn, **ost.opensignals_kwargs("figure"))
        fig.line(time, signal_dict[mac][chn],
                 **ost.opensignals_kwargs("line"))
        grid_layout.append([fig])
ost.opensignals_style([item for sublist in grid_layout for item in sublist])
grid_plot = gridplot(grid_layout, **ost.opensignals_kwargs("gridplot"))
show(grid_plot)
temp_res_8_16
Signal Type Temperature
Acquisition Time 03:53.1
Sample Rate 1000 Hz
Number of Channels 2
Resolutions 8 and 16 bits
Observations Temperature increase with a gradual decrease in the middle of acquisition
In [11]:
signal_dict, file_header = ost.load("C:/Users/gui_s/Documents/Trabalho_na_Plux/opensignalstools/biosignalsnotebooks/header_footer/../biosignalsnotebooks_notebooks/signal_samples/" + "temp_res_8_16.h5", get_header=True)
mac_addresses = list(signal_dict.keys())

mac_0 = mac_addresses[0]
chn_0 = list(signal_dict[mac_0].keys())[0]
sample_rate = file_header[mac_0]["sampling rate"]
time = numpy.linspace(0, len(signal_dict[mac_0][chn_0]) / sample_rate,
                      len(signal_dict[mac_0][chn_0]))
grid_layout = []
for mac in mac_addresses:
    channels = list(signal_dict[mac].keys())
    for chn in channels:
        fig = figure(x_axis_label='Time (s)', y_axis_label='Raw Data',
                     title=mac + "@" + chn, **ost.opensignals_kwargs("figure"))
        fig.line(time, signal_dict[mac][chn],
                 **ost.opensignals_kwargs("line"))
        grid_layout.append([fig])
ost.opensignals_style([item for sublist in grid_layout for item in sublist])
grid_plot = gridplot(grid_layout, **ost.opensignals_kwargs("gridplot"))
show(grid_plot)

**Auxiliary Code Segment (should not be replicated by the user)**

In [12]:
from biosignalsnotebooks.__notebook_support__ import css_style_apply
css_style_apply()
.................... CSS Style Applied to Jupyter Notebook .........................
Out[12]: